1. Technical Field
The following description relates to technology for parallel processing in a multiprocessor environment or multi-core environment.
2. Description of Related Art
A data processing system of multi-core environment is a processing technique to speed up network traffic performances. In the data processing system, an order of processing data, of which order is set, is needed to be maintained even though one or more multi-cores simultaneously perform parallel processings for the data. Parallel network processor array (PNPA) and receive side scaling (RSS) techniques are provided to resolve such problems. According to PNPA and RSS techniques, a multiprocessor-based router performs flow identification for received network traffics and classifies the network traffics into a plurality of flows, and a corresponding processor performs processing for each flow. In addition, traffics identified as the same flow are assigned to the same processor for continuous processing so that network traffics can be distributed to and processed at the same time by multiprocessors for parallel processing at high speed in a multiprocessor environment. However, such techniques cannot provide processor scaling according to the network traffics since processor mapping for flows is fixed regardless of network traffic conditions.
Dynamic receive queue balancing with high and low thresholds (DRQB) technique is introduced to provide scaling for processors in order to improve the RSS technique. DRQB technique assigns application programs to different processors based on amount of traffics and data processed by a corresponding application program is assigned dynamically to a processing queue of a new processor. Thus, the DRQB technique provides processor scaling based on amount of traffics. However, since the DRQB technique causes a problem of re-ordering of data during the processor scaling process, it cannot provide effective processor (or core) scaling.